package com.geline.sqlbackup.util;

import com.alibaba.druid.sql.ast.SQLDataType;

/**
 * @author: mengx
 * @date: 2021/10/16 18:14
 */
public class SqlTypeUtils {

    public static boolean isInt(String dataType) {
        // int, int4, int8
        return dataType == SQLDataType.Constants.BIGINT || dataType.startsWith("INT") || dataType == SQLDataType.Constants.SMALLINT || dataType == SQLDataType.Constants.TINYINT;
    }

    public static boolean isNumberic(String dataType) {
        return dataType == SQLDataType.Constants.REAL || dataType == SQLDataType.Constants.FLOAT || dataType == SQLDataType.Constants.DOUBLE || dataType == SQLDataType.Constants.DOUBLE_PRECISION || dataType == SQLDataType.Constants.NUMBER || dataType == SQLDataType.Constants.DECIMAL || dataType.equalsIgnoreCase("NUMERIC");
    }

    public static boolean isString(String dataType) {//VARCHAR, VARCHAR2, ---->  TEXT,TINYTEXT,MEDIUMTEXT,LONGTEXT
        return dataType.startsWith("VARCHAR") || dataType == SQLDataType.Constants.CHAR || dataType == SQLDataType.Constants.NCHAR || dataType.startsWith("NVARCHAR") || dataType.endsWith("TEXT") || dataType.equals("CLOB") || dataType.equals("NCLOB") || dataType.equals("MULTIVALUE") || dataType.equals("STRING");
    }

}
